package com.util;

/**
 * Etat de la commande.
 * @author Cyril Schumacher
 */
public enum OrderStatus {
    // <editor-fold defaultstate="collapsed" desc="Enumérations.">
    /**
     * Validé.
     */
    VALIDATED("Validé"), 
    /**
     * Préparation.
     */
    PREPARED("Prépapration"),
    /**
     * Annulé.
     */
    CANCELED("Annulé"),
    /**
     * Envoyé.
     */
    SENT("Envoyé");
    // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="Membres.">
    /**
     * Valeur de l'énumération.
     */
    private final String value;
    // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="Méthodes.">
    /**
     * Retourne une chaîne de caractère
     * @return 
     */
    @Override
    public String toString() {
        return value;
    }
    /**
     * Retourne la valeur de l'énumaration selon un identifiant.
     * @param id Identifiant.
     * @return Retourne un objet de type "OrderStatus".
     */
    public static OrderStatus getById(int id) {
        switch(id) {
            default:
            case 1: return VALIDATED;
            case 2: return PREPARED;
            case 3: return CANCELED;
            case 4: return SENT;
        }
    }
    // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="Constructeur.">
    /**
     * Constructeur.
     * @param value Valeur de l'énumération.
     */
    private OrderStatus(final String value) {
        this.value = value;
    }
    // </editor-fold>
}
